Topics in Parallel and Distributed Computing: Introducing Concurrency in Undergraduate Courses Chapter 4 Modules for Introducing Threads

نویسنده

  • David P. Bunde
چکیده

This chapter presents a pair of modules for introducing students to parallel programming. Each module is built around an exploratory exercise to parallelize an application, which can be used in lab or lecture. They illustrate fundamental concepts such as speedup, race conditions, privatizing variables, and load balance. Variations teach students about explicit threading (in C, C++, or Java) and OpenMP (in C/C++). Relevant core courses: Systems, CS2 Relevant PDC topics: Shared memory: Compiler directives/pragmas (A), libraries (A); Task/thread spawning (A); Data parallel: parallel loops for shared memory (A); Synchronization: critical regions (A); Concurrency defects: data races (C); Load balancing (C); Scheduling and mapping (K); Speedup (C) Learning outcomes: The student will be able to use common thread libraries for new problems and also have a working knowledge of some basic concepts of parallel programming. Context for use: First course introducing shared memory programming. Assumes prior background in either Java or C/C++.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Topics in Parallel and Distributed Computing: Introducing Concurrency in Undergraduate Courses Chapter 5 Introducing Parallel and Distributed Computing Concepts in Digital Logic

This chapter provides a framework for introducing parallel and distributed computing (PDC) concepts as they arise naturally in digital logic. It is directed primarily towards the instructor of a first digital logic course, although a motivated student may find it useful as well. Because a digital logic course lays the foundation for other courses such as computer organization and architecture, ...

متن کامل

Topics in Parallel and Distributed Computing: Introducing Concurrency in Undergraduate Courses Chapter 6 Networks and MPI for Cluster Computing

Cluster computing, message passing, and high performance networks form the foundation for high performance computing and modern supercomputers. This chapter will introduce the reader to the key concepts needed to understand how cluster computing differs from other types of distributed computing and provides a brief introduction to supercomputing. The material presented here is intended to be in...

متن کامل

Teaching Parallel and Distributed Computing topics for the Undergraduate Computer Science Student

Parallel and distributed systems programming skills has become a common requirement in the development of modern applications. It is imperative that an updated curriculum in computer science include these topics not only as advanced (often elective) programming courses. There is a general consensus that parallel programming topics should be spread in contents of several core courses and these t...

متن کامل

Implementing distributed shared memory based on DCE

The Distributed Computing Environment (DCE) software of the Open Software Foundation o ers solutions for security problems and for shared le management in heterogeneous computer networks. It allows distributed programming by remote procedure calls and parallel programming by threads. Distributed shared memory in a computer network pretends a globally shared address space among networked compute...

متن کامل

Early Adoption: High-Performance Computing for Big Data Introducing parallel programming and big data in the core algorithms curriculum

Proficiency in high-performance computing (HPC) is today an essential skill for students in any computer science program. While traditional curricula provide several courses related to parallel programming, we are increasingly including parallel computing topics in our mandatory undergraduate and graduate algorithms classes. We briefly review our recent activities in this direction and outline ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015